#region history
//************************************************************************************
// 20080104/WMB/LineContent.cs created for Mitosoft.
// 
// Remarks, Restrictions
// ===================================================================================
//
//************************************************************************************
#endregion

#region using declarations

using Mitosoft.Definitions.Data;

#endregion

namespace Mitosoft.TextFileReader 
{
  /// <summary>
  /// Represents a line from a text file.
  /// </summary>
  public class LineContent : ILineContent, IGenericDataBlockItem<string>
  {
    #region Fields
    protected string _content = null;
    protected ulong _lineNumber;
    #endregion

    #region Constructor(s)
    
    /// <summary>
    /// Creates a new instance of a LineContent object.
    /// </summary>
    /// <param name="content">Content of the line.</param>
    /// <param name="lineNumber">Number of the line.</param>
    public LineContent(string content, ulong lineNumber) 
    {
      Content = content;
      LineNumber = lineNumber;
    }

    #endregion

    #region Properties
    /// <summary>
    /// Identifies the data item.
    /// </summary>
    public ulong Id
    {
      get { return LineNumber; }
      set { LineNumber = value; }
    }

    /// <summary>
    /// Represents the data value.
    /// </summary>
    public string Value
    {
      get { return Content; }
      set { Content = value; }
    }

    /// <summary>
    /// Represents the content of the line
    /// </summary>
    public string Content {
      get { return _content; }
      set { _content = value; }
    }

    /// <summary>
    /// Represents the line number of the line related to a text file.
    /// </summary>
    public ulong LineNumber {
      get { return _lineNumber; }
      set { _lineNumber = value; }
    }

    #endregion

    #region Methods
    #endregion
  }
}
